#ifndef NumBoard_H
#define NumBoard_H


#include "Common.h"

namespace HitoriGenerator {
class NumBoard {
public:
	unsigned short rows, columns;
	std::shared_ptr<std::set<unsigned short>> get_solution() const;
	
protected:
	std::shared_ptr<std::set<unsigned short>> solution;

	int _get_position(const unsigned short index, const unsigned short offset) const;
	
	bool _is_top(const unsigned short index) const;
	bool _is_bottom(const unsigned short index) const;
	bool _is_left(const unsigned short index) const;
	bool _is_right(const unsigned short index) const;
	bool _is_border(const unsigned short index) const;
};
}


#endif